MythicMobsExtension
MythicMobsExtension copied to clipboard
Trade mechanic support for placeholder variables for dynamic trading
Example of Dynamic trading (Trades are automatically chosen from a set of predefined trades with random prices setup) : Mob File :
AirNomad-Trader:
Type: Villager
Display: "&fTrader"
Options:
Profession: CLERIC
Type: DESERT
Level: 5
Skills:
- skill{s=VarInitializeTraderAIR} @self ~onSpawn
- skill{s=OneTimeTrade} ~onInteract
Skill File :
GoldenAppleTrade:
Cooldown: 99999
Skills:
- setvariable{var=caster.placeholderItem;type=STRING;value="ironcoin"} ## Price
- setvariable{var=caster.placeholderAmount1;type=STRING;value="14to20"} ## Amount of Price
- setvariable{var=caster.placeholderItem1;type=STRING;value="GOLDEN_APPLE"} ## Traded Item
- setvariable{var=caster.placeholderAmount;type=STRING;value="1"} ## Amount of Traded Item
GoldenCarrotTrade:
Cooldown: 99999
Skills:
- setvariable{var=caster.placeholderItem;type=STRING;value="ironcoin"}
- setvariable{var=caster.placeholderAmount1;type=STRING;value="10to18"}
- setvariable{var=caster.placeholderItem1;type=STRING;value="GOLDEN_CARROT"}
- setvariable{var=caster.placeholderAmount;type=STRING;value="1"}
HoneyBottleTrade:
Cooldown: 99999
Skills:
- setvariable{var=caster.placeholderItem;type=STRING;value="ironcoin"}
- setvariable{var=caster.placeholderAmount1;type=STRING;value="4to6"}
- setvariable{var=caster.placeholderItem1;type=STRING;value="HONEY_BOTTLE"}
- setvariable{var=caster.placeholderAmount;type=STRING;value="1"}
MelonSliceTrade:
Cooldown: 99999
Skills:
- setvariable{var=caster.placeholderItem;type=STRING;value="ironcoin"}
- setvariable{var=caster.placeholderAmount1;type=STRING;value="1to3"}
- setvariable{var=caster.placeholderItem1;type=STRING;value="MELON_SLICE"}
- setvariable{var=caster.placeholderAmount;type=STRING;value="1"}
RandomTradeSell:
Skills:
- randomskill{s=GoldenAppleTrade,GoldenCarrotTrade,HoneyBottleTrade,MelonSliceTrade}
VarInitializeTraderAIR:
Skills:
# Default value setup if trade mechanic fails.
- setvariable{var=caster.placeholderItem;type=STRING;value="APPLE"}
- setvariable{var=caster.placeholderAmount1;type=STRING;value="3to6"}
- setvariable{var=caster.placeholderItem1;type=STRING;value="ironcoin"}
- setvariable{var=caster.placeholderAmount;type=STRING;value="1"}
# Assign placeholders with a random trade
- skill{s=RandomTradeSell}
# Default value setup if trade mechanic fails.
- setvariable{var=caster.placeholderItem;type=STRING;value="APPLE"}
- setvariable{var=caster.placeholderAmount1;type=STRING;value="3to6"}
- setvariable{var=caster.placeholderItem1;type=STRING;value="ironcoin"}
- setvariable{var=caster.placeholderAmount;type=STRING;value="1"}
# Assign placeholders with a random trade
- skill{s=RandomTradeSell}
# Assign placeholders to the variables
- setvariable{var=caster.amountPrice1;type=STRING;value=<caster.var.placeholderAmount>}
- setvariable{var=caster.resultsItem1;type=STRING;value=<caster.var.placeholderItem>}
- setvariable{var=caster.resultsAmount1;type=STRING;value=<caster.var.placeholderAmount1>}
- setvariable{var=caster.priceItem1;type=STRING;value=<caster.var.placeholderItem1>}
OneTimeTrade:
Cooldown: 99999
Skills:
- trade{1=result:<caster.var.resultsItem1>:<caster.var.resultsAmount1>,price1:<caster.var.priceItem1>:<caster.var.amountPrice1>,uses:20}