File: replicate.lua

package info (click to toggle)
scummvm 2.9.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 450,580 kB
  • sloc: cpp: 4,299,825; asm: 28,322; python: 12,901; sh: 11,302; java: 9,289; xml: 7,895; perl: 2,639; ansic: 2,465; yacc: 1,670; javascript: 1,020; makefile: 933; lex: 578; awk: 275; objc: 82; sed: 11; php: 1
file content (35 lines) | stat: -rw-r--r-- 699 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
local caster = magic_get_caster()
local obj = select_obj_with_projectile(0x17f, caster)

if obj == nil then return end

if tile_get_flag(obj.tile_num, 3, 3) == true then

	local replicated_obj = Obj.new(obj.obj_n, obj.frame_n)

	replicated_obj.qty = 1
	replicated_obj.status = 0x21 --OK, TEMP

	local loc = {}, i
	local random = math.random
	local caster_x = caster.x
	local caster_y = caster.y

	loc.z = caster.z

	for i=1,8 do
		loc.x = caster_x + random(0, 10) - 5
		loc.y = caster_y + random(0, 10) - 5

		if map_can_put_obj(loc) == true then
			Obj.moveToMap(replicated_obj, loc)
			fade_obj_in(replicated_obj)

			return magic_success()
		end
	end

	magic_failed()
else
	magic_no_effect()
end