Skip to content

Commit

Permalink
Random options support & Vending rework
Browse files Browse the repository at this point in the history
* Added random option info in inventory, cart, and storage. If item has options, it'll show as [n Options] in default theme, collapsible.
* Random option feature can be disabled in application.php for backward compatibility
* Vending & buyingstore have item listing as default, listing by shop name is now in different page: vendors & buyers
* Recolor item price for vending & buyingstore
* Moved item bound message to label
* Added new library Flux/Item to reduce redundant codes after item fetching
* Fixes #190, renewed card0 special values and added into config in application.php for backward compatibility
  • Loading branch information
cydh committed Jul 10, 2018
1 parent e0fa6a8 commit ca025da
Show file tree
Hide file tree
Showing 29 changed files with 1,657 additions and 584 deletions.
14 changes: 10 additions & 4 deletions config/access.php
Original file line number Diff line number Diff line change
Expand Up @@ -198,10 +198,16 @@
'staffsettings' => AccountLevel::LOWGM,
'catcontrol' => AccountLevel::HIGHGM
),
'vending' => array(
'index' => AccountLevel::ANYONE,
'viewshop' => AccountLevel::ANYONE,
),
'vending' => array(
'index' => AccountLevel::ANYONE,
'vendors' => AccountLevel::ANYONE,
'viewshop' => AccountLevel::ANYONE,
),
'buyingstore' => array(
'index' => AccountLevel::ANYONE,
'buyers' => AccountLevel::ANYONE,
'viewshop' => AccountLevel::ANYONE,
),
'webcommands' => array(
'index' => AccountLevel::ADMIN,
),
Expand Down
33 changes: 27 additions & 6 deletions config/application.php
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,25 @@
'Reversed', // -- 'Reversed'
),

'RandomOptions' => true, // Enable random options lookup. Set this falee to disable

'RandomOptionIDs' => include('randomoption_ids.php'),
'RandomOptionMessages' => include('randomoptions.php'),

// Card0 special flag. In Older rAthena is 254,255,-256
'ItemSpecial' => array(
'forge' => 0x00FF,
'create' => 0x00FE,
'pet' => 0x0100,
),

'BoundLabels' => array(
1 => 'BoundAccountLabel',
2 => 'BoundGuildLabel',
3 => 'BoundPartyLabel',
4 => 'BoundCharacterLabel',
),

'HoldUntrustedAccount' => 0, // This is the time in hours to hold a donation crediting process for, if the account
// isn't a trusted account. Specify 0 or false to disable this feature.

Expand Down Expand Up @@ -393,12 +412,14 @@
'staffsettings' => 'Staff Settings',
'catcontrol' => 'Category Control',
),
'vending' => array(
'index' => 'Vendors',
),
'buyingstore' => array(
'index' => 'Buyers',
),
'vending' => array(
'index' => 'Items',
'vendors' => 'Vendors',
),
'buyingstore' => array(
'index' => 'Items',
'buyers' => 'Buyers',
),
),

'AllowMD5PasswordSearch' => false,
Expand Down
195 changes: 195 additions & 0 deletions config/randomoption_ids.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
<?php
return array(
1 => 'VAR_MAXHPAMOUNT',
2 => 'VAR_MAXSPAMOUNT',
3 => 'VAR_STRAMOUNT',
4 => 'VAR_AGIAMOUNT',
5 => 'VAR_VITAMOUNT',
6 => 'VAR_INTAMOUNT',
7 => 'VAR_DEXAMOUNT',
8 => 'VAR_LUKAMOUNT',
9 => 'VAR_MAXHPPERCENT',
10 => 'VAR_MAXSPPERCENT',
11 => 'VAR_HPACCELERATION',
12 => 'VAR_SPACCELERATION',
13 => 'VAR_ATKPERCENT',
14 => 'VAR_MAGICATKPERCENT',
15 => 'VAR_PLUSASPD',
16 => 'VAR_PLUSASPDPERCENT',
17 => 'VAR_ATTPOWER',
18 => 'VAR_HITSUCCESSVALUE',
19 => 'VAR_ATTMPOWER',
20 => 'VAR_ITEMDEFPOWER',
21 => 'VAR_MDEFPOWER',
22 => 'VAR_AVOIDSUCCESSVALUE',
23 => 'VAR_PLUSAVOIDSUCCESSVALUE',
24 => 'VAR_CRITICALSUCCESSVALUE',
25 => 'ATTR_TOLERACE_NOTHING',
26 => 'ATTR_TOLERACE_WATER',
27 => 'ATTR_TOLERACE_GROUND',
28 => 'ATTR_TOLERACE_FIRE',
29 => 'ATTR_TOLERACE_WIND',
30 => 'ATTR_TOLERACE_POISON',
31 => 'ATTR_TOLERACE_SAINT',
32 => 'ATTR_TOLERACE_DARKNESS',
33 => 'ATTR_TOLERACE_TELEKINESIS',
34 => 'ATTR_TOLERACE_UNDEAD',
35 => 'ATTR_TOLERACE_ALL',
36 => 'DAMAGE_PROPERTY_NOTHING_USER',
37 => 'DAMAGE_PROPERTY_NOTHING_TARGET',
38 => 'DAMAGE_PROPERTY_WATER_USER',
39 => 'DAMAGE_PROPERTY_WATER_TARGET',
40 => 'DAMAGE_PROPERTY_GROUND_USER',
41 => 'DAMAGE_PROPERTY_GROUND_TARGET',
42 => 'DAMAGE_PROPERTY_FIRE_USER',
43 => 'DAMAGE_PROPERTY_FIRE_TARGET',
44 => 'DAMAGE_PROPERTY_WIND_USER',
45 => 'DAMAGE_PROPERTY_WIND_TARGET',
46 => 'DAMAGE_PROPERTY_POISON_USER',
47 => 'DAMAGE_PROPERTY_POISON_TARGET',
48 => 'DAMAGE_PROPERTY_SAINT_USER',
49 => 'DAMAGE_PROPERTY_SAINT_TARGET',
50 => 'DAMAGE_PROPERTY_DARKNESS_USER',
51 => 'DAMAGE_PROPERTY_DARKNESS_TARGET',
52 => 'DAMAGE_PROPERTY_TELEKINESIS_USER',
53 => 'DAMAGE_PROPERTY_TELEKINESIS_TARGET',
54 => 'DAMAGE_PROPERTY_UNDEAD_USER',
55 => 'DAMAGE_PROPERTY_UNDEAD_TARGET',
56 => 'MDAMAGE_PROPERTY_NOTHING_USER',
57 => 'MDAMAGE_PROPERTY_NOTHING_TARGET',
58 => 'MDAMAGE_PROPERTY_WATER_USER',
59 => 'MDAMAGE_PROPERTY_WATER_TARGET',
60 => 'MDAMAGE_PROPERTY_GROUND_USER',
61 => 'MDAMAGE_PROPERTY_GROUND_TARGET',
62 => 'MDAMAGE_PROPERTY_FIRE_USER',
63 => 'MDAMAGE_PROPERTY_FIRE_TARGET',
64 => 'MDAMAGE_PROPERTY_WIND_USER',
65 => 'MDAMAGE_PROPERTY_WIND_TARGET',
66 => 'MDAMAGE_PROPERTY_POISON_USER',
67 => 'MDAMAGE_PROPERTY_POISON_TARGET',
68 => 'MDAMAGE_PROPERTY_SAINT_USER',
69 => 'MDAMAGE_PROPERTY_SAINT_TARGET',
70 => 'MDAMAGE_PROPERTY_DARKNESS_USER',
71 => 'MDAMAGE_PROPERTY_DARKNESS_TARGET',
72 => 'MDAMAGE_PROPERTY_TELEKINESIS_USER',
73 => 'MDAMAGE_PROPERTY_TELEKINESIS_TARGET',
74 => 'MDAMAGE_PROPERTY_UNDEAD_USER',
75 => 'MDAMAGE_PROPERTY_UNDEAD_TARGET',
76 => 'BODY_ATTR_NOTHING',
77 => 'BODY_ATTR_WATER',
78 => 'BODY_ATTR_GROUND',
79 => 'BODY_ATTR_FIRE',
80 => 'BODY_ATTR_WIND',
81 => 'BODY_ATTR_POISON',
82 => 'BODY_ATTR_SAINT',
83 => 'BODY_ATTR_DARKNESS',
84 => 'BODY_ATTR_TELEKINESIS',
85 => 'BODY_ATTR_UNDEAD',
86 => 'BODY_ATTR_ALL',
87 => 'RACE_TOLERACE_NOTHING',
88 => 'RACE_TOLERACE_UNDEAD',
89 => 'RACE_TOLERACE_ANIMAL',
90 => 'RACE_TOLERACE_PLANT',
91 => 'RACE_TOLERACE_INSECT',
92 => 'RACE_TOLERACE_FISHS',
93 => 'RACE_TOLERACE_DEVIL',
94 => 'RACE_TOLERACE_HUMAN',
95 => 'RACE_TOLERACE_ANGEL',
96 => 'RACE_TOLERACE_DRAGON',
97 => 'RACE_DAMAGE_NOTHING',
98 => 'RACE_DAMAGE_UNDEAD',
99 => 'RACE_DAMAGE_ANIMAL',
100 => 'RACE_DAMAGE_PLANT',
101 => 'RACE_DAMAGE_INSECT',
102 => 'RACE_DAMAGE_FISHS',
103 => 'RACE_DAMAGE_DEVIL',
104 => 'RACE_DAMAGE_HUMAN',
105 => 'RACE_DAMAGE_ANGEL',
106 => 'RACE_DAMAGE_DRAGON',
107 => 'RACE_MDAMAGE_NOTHING',
108 => 'RACE_MDAMAGE_UNDEAD',
109 => 'RACE_MDAMAGE_ANIMAL',
110 => 'RACE_MDAMAGE_PLANT',
111 => 'RACE_MDAMAGE_INSECT',
112 => 'RACE_MDAMAGE_FISHS',
113 => 'RACE_MDAMAGE_DEVIL',
114 => 'RACE_MDAMAGE_HUMAN',
115 => 'RACE_MDAMAGE_ANGEL',
116 => 'RACE_MDAMAGE_DRAGON',
117 => 'RACE_CRI_PERCENT_NOTHING',
118 => 'RACE_CRI_PERCENT_UNDEAD',
119 => 'RACE_CRI_PERCENT_ANIMAL',
120 => 'RACE_CRI_PERCENT_PLANT',
121 => 'RACE_CRI_PERCENT_INSECT',
122 => 'RACE_CRI_PERCENT_FISHS',
123 => 'RACE_CRI_PERCENT_DEVIL',
124 => 'RACE_CRI_PERCENT_HUMAN',
125 => 'RACE_CRI_PERCENT_ANGEL',
126 => 'RACE_CRI_PERCENT_DRAGON',
127 => 'RACE_IGNORE_DEF_PERCENT_NOTHING',
128 => 'RACE_IGNORE_DEF_PERCENT_UNDEAD',
129 => 'RACE_IGNORE_DEF_PERCENT_ANIMAL',
130 => 'RACE_IGNORE_DEF_PERCENT_PLANT',
131 => 'RACE_IGNORE_DEF_PERCENT_INSECT',
132 => 'RACE_IGNORE_DEF_PERCENT_FISHS',
133 => 'RACE_IGNORE_DEF_PERCENT_DEVIL',
134 => 'RACE_IGNORE_DEF_PERCENT_HUMAN',
135 => 'RACE_IGNORE_DEF_PERCENT_ANGEL',
136 => 'RACE_IGNORE_DEF_PERCENT_DRAGON',
137 => 'RACE_IGNORE_MDEF_PERCENT_NOTHING',
138 => 'RACE_IGNORE_MDEF_PERCENT_UNDEAD',
139 => 'RACE_IGNORE_MDEF_PERCENT_ANIMAL',
140 => 'RACE_IGNORE_MDEF_PERCENT_PLANT',
141 => 'RACE_IGNORE_MDEF_PERCENT_INSECT',
142 => 'RACE_IGNORE_MDEF_PERCENT_FISHS',
143 => 'RACE_IGNORE_MDEF_PERCENT_DEVIL',
144 => 'RACE_IGNORE_MDEF_PERCENT_HUMAN',
145 => 'RACE_IGNORE_MDEF_PERCENT_ANGEL',
146 => 'RACE_IGNORE_MDEF_PERCENT_DRAGON',
147 => 'CLASS_DAMAGE_NORMAL_TARGET',
148 => 'CLASS_DAMAGE_BOSS_TARGET',
149 => 'CLASS_DAMAGE_NORMAL_USER',
150 => 'CLASS_DAMAGE_BOSS_USER',
151 => 'CLASS_MDAMAGE_NORMAL',
152 => 'CLASS_MDAMAGE_BOSS',
153 => 'CLASS_IGNORE_DEF_PERCENT_NORMAL',
154 => 'CLASS_IGNORE_DEF_PERCENT_BOSS',
155 => 'CLASS_IGNORE_MDEF_PERCENT_NORMAL',
156 => 'CLASS_IGNORE_MDEF_PERCENT_BOSS',
157 => 'DAMAGE_SIZE_SMALL_TARGET',
158 => 'DAMAGE_SIZE_MIDIUM_TARGET',
159 => 'DAMAGE_SIZE_LARGE_TARGET',
160 => 'DAMAGE_SIZE_SMALL_USER',
161 => 'DAMAGE_SIZE_MIDIUM_USER',
162 => 'DAMAGE_SIZE_LARGE_USER',
163 => 'DAMAGE_SIZE_PERFECT',
164 => 'DAMAGE_CRI_TARGET',
165 => 'DAMAGE_CRI_USER',
166 => 'RANGE_ATTACK_DAMAGE_TARGET',
167 => 'RANGE_ATTACK_DAMAGE_USER',
168 => 'HEAL_VALUE',
169 => 'HEAL_MODIFY_PERCENT',
170 => 'DEC_SPELL_CAST_TIME',
171 => 'DEC_SPELL_DELAY_TIME',
172 => 'DEC_SP_CONSUMPTION',
173 => 'HP_DRAIN',
174 => 'SP_DRAIN',
175 => 'WEAPON_ATTR_NOTHING',
176 => 'WEAPON_ATTR_WATER',
177 => 'WEAPON_ATTR_GROUND',
178 => 'WEAPON_ATTR_FIRE',
179 => 'WEAPON_ATTR_WIND',
180 => 'WEAPON_ATTR_POISON',
181 => 'WEAPON_ATTR_SAINT',
182 => 'WEAPON_ATTR_DARKNESS',
183 => 'WEAPON_ATTR_TELEKINESIS',
184 => 'WEAPON_ATTR_UNDEAD',
185 => 'WEAPON_INDESTRUCTIBLE',
186 => 'BODY_INDESTRUCTIBLE',
187 => 'MDAMAGE_SIZE_SMALL_TARGET',
188 => 'MDAMAGE_SIZE_MIDIUM_TARGET',
189 => 'MDAMAGE_SIZE_LARGE_TARGET',
190 => 'MDAMAGE_SIZE_SMALL_USER',
191 => 'MDAMAGE_SIZE_MIDIUM_USER',
192 => 'MDAMAGE_SIZE_LARGE_USER',
);
Loading

0 comments on commit ca025da

Please sign in to comment.