… | |
… | |
137 | |
137 | |
138 | op = stop_item (op); |
138 | op = stop_item (op); |
139 | if (!op) |
139 | if (!op) |
140 | return; |
140 | return; |
141 | |
141 | |
142 | /* Hacked the following so that type LIGHTER will work. |
142 | /* Hacked the following so that type LIGHTER will work. |
143 | * Also, objects which are potential "lights" that are hit by |
143 | * Also, objects which are potential "lights" that are hit by |
144 | * flame/elect attacks will be set to glow. "lights" are any |
144 | * flame/elect attacks will be set to glow. "lights" are any |
145 | * object with +/- glow_radius and an "other_arch" to change to. |
145 | * object with +/- glow_radius and an "other_arch" to change to. |
146 | * (and please note that we cant fail our save and reach this |
146 | * (and please note that we cant fail our save and reach this |
147 | * function if the object doesnt contain a material that can burn. |
147 | * function if the object doesnt contain a material that can burn. |
148 | * So forget lighting magical swords on fire with this!) -b.t. |
148 | * So forget lighting magical swords on fire with this!) -b.t. |
149 | */ |
149 | */ |
150 | if (type & (AT_FIRE | AT_ELECTRICITY)) |
150 | if (type & (AT_FIRE | AT_ELECTRICITY)) |
151 | { |
151 | { |
152 | // seems LAMPs and TORCHes are always IS_LIGHTABLE? |
152 | // seems LAMPs and TORCHes are always IS_LIGHTABLE? |
… | |
… | |
1034 | */ |
1034 | */ |
1035 | if (hit_something) |
1035 | if (hit_something) |
1036 | if (op->speed < 10.0) |
1036 | if (op->speed < 10.0) |
1037 | { |
1037 | { |
1038 | /* Stop arrow */ |
1038 | /* Stop arrow */ |
1039 | if (!container) |
1039 | if (container) |
|
|
1040 | container->destroy (); |
|
|
1041 | else |
1040 | { |
1042 | { |
1041 | hitter = fix_stopped_arrow (hitter); |
1043 | hitter = fix_stopped_arrow (hitter); |
1042 | if (!hitter) |
1044 | if (!hitter) |
1043 | return 0; |
1045 | return 0; |
1044 | } |
1046 | } |
1045 | else |
|
|
1046 | container->destroy (); |
|
|
1047 | |
1047 | |
1048 | /* Try to stick arrow into victim */ |
1048 | /* Try to stick arrow into victim */ |
1049 | if (!victim->destroyed () && stick_arrow (hitter, victim)) |
1049 | if (!victim->destroyed () && stick_arrow (hitter, victim)) |
1050 | return 0; |
1050 | return 0; |
1051 | |
1051 | |