Day of Defeat Plugins Community
This site is an archive — everything is readable and downloadable, nothing can be posted. Admin

dod_gore

by Unknown · 2005-05-18

recovered from the server

From the first post

Recovered from the archived server. This was never posted on the forum, so there is no thread behind it and no author post to quote — the attribution below comes from the plugin's own register_plugin() call where it has one.

Files

dod_gore.amxx Compiled Plugin 7 KB Download

Decompiled source reconstructed

dod_gore.amxx was published compiled only. This Pawn was recovered from the bytecode with Lysis — 329 lines. Strings, cvars and the plugin registration survive; local variable names do not. It is an approximation, not the author's file.

// Decompiled from dod_gore.amxx by Lysis.n// This is RECONSTRUCTED source, not the author's original: withoutn// debug symbols the variable names are lost and control flow isn// rebuilt from bytecode. Treat it as a readable approximation.nnnew g_vara0;nnew g_var9c;nnew g_var84;nnew g_var88;nnew g_var8c;nnew g_var90;nnew g_var94;nnew g_var98;npublic client_damage(_arg0, _arg1)n{n	new var1;n	var1 = get_gore_flags();n	0[_arg1] = get_user_health(_arg1);n	if (var1 & 2)n	{n		new var2 = 0;n		get_user_origin(_arg1, var2, 0);n		fx_blood(var2);n		sub_16e0(var2, 10);n	}n	return 0;n}nnpublic client_death(_arg0, _arg1, _arg2, _arg3)n{n	new var5;n	var5 = get_gore_flags();n	new var6 = 0;n	new var7;n	new var1;n	if (_arg3 == 1)n	{n		var1 = 1;n	}n	elsen	{n		var1 = 0;n	}n	var7 = var1;n	new var2;n	if (var5 & 1 && var7)n	{n		get_user_origin(_arg1, var6, 0);n		fx_headshot(var6);n	}n	elsen	{n		new var4;n		if (var5 & 8 && (xmod_is_melee_wpn(_arg2) || _arg2 == 29 || _arg2 == 30 || _arg2 == 31 || _arg2 == 13 || _arg2 == 14 || _arg2 == 36 || 0[_arg1] - get_user_health(_arg1) > 100))n		{n			get_user_origin(_arg1, var6, 0);n			sub_fe8(_arg1, 0);n			sub_1d88(var6, 5);n			sub_1a34(var6, 3);n			sub_16e0(var6, 20);n			var6 + 8/* ERROR unknown load Binary */ = var6 + 8/* ERROR unknown load Binary */ - 45;n			set_user_origin(_arg1, var6);n		}n	}n	return 0;n}nnpublic event_blood()n{n	new var1;n	var1 = get_gore_flags();n	if (var1 & 4)n	{n		new var2 = 0;n		new var3 = 0;n		new var4 = 0;n		new var5 = 0;n		get_players(var3, var4, 200, 208);n		new var6 = 0;n		while (var6 < var4)n		{n			var2 = var3[var6];n			if (20 > get_user_health(var2))n			{n				get_user_origin(var2, var5, 0);n				fx_bleed(var5);n				sub_16e0(var5, 5);n			}n			var6++;n		}n	}n	return 0;n}nnpublic event_respawn(_arg0)n{n	0[_arg0] = get_user_health(_arg0);n	sub_fe8(_arg0, 255);n	return 0;n}nnpublic fx_bleed(_arg0)n{n	message_begin(0, 23, {0,0,0}, 0);n	write_byte(101);n	write_coord(_arg0);n	write_coord(_arg0 + 4/* ERROR unknown load Binary */);n	write_coord(_arg0 + 8/* ERROR unknown load Binary */ + 10);n	write_coord(random_num(-100, 100));n	write_coord(random_num(-100, 100));n	write_coord(random_num(-10, 10));n	write_byte(70);n	write_byte(random_num(50, 100));n	message_end();n	return 0;n}nnpublic fx_blood(_arg0)n{n	message_begin(0, 23, {0,0,0}, 0);n	write_byte(115);n	write_coord(random_num(-20, 20) + _arg0);n	write_coord(random_num(-20, 20) + _arg0 + 4/* ERROR unknown load Binary */);n	write_coord(random_num(-20, 20) + _arg0 + 8/* ERROR unknown load Binary */);n	write_short(g_vara0);n	write_short(g_var9c);n	write_byte(248);n	write_byte(10);n	message_end();n	return 0;n}nnpublic fx_headshot(_arg0)n{n	new var1 = 0;n	while (var1 < 5)n	{n		message_begin(0, 23, {0,0,0}, 0);n		write_byte(101);n		write_coord(_arg0);n		write_coord(_arg0 + 4/* ERROR unknown load Binary */);n		write_coord(_arg0 + 8/* ERROR unknown load Binary */ + 30);n		write_coord(random_num(-20, 20));n		write_coord(random_num(-20, 20));n		write_coord(random_num(50, 300));n		write_byte(70);n		write_byte(random_num(100, 200));n		message_end();n		var1++;n	}n	return 0;n}nnpublic get_gore_flags()n{n	new var1 = 0;n	get_cvar_string("amx_gore", var1, 24);n	return read_flags(var1);n}nnpublic plugin_init()n{n	register_plugin("Plugin Gore", "1.0", "mike_cao");n	register_statsfwd(0);n	register_statsfwd(1);n	register_event("ResetHUD", "event_respawn", "be", "1=1");n	register_cvar("amx_gore", "abcd", 0, 0);n	set_cvar_string("amx_gore", "abc");n	set_task(1065353216, "event_blood", 0, 1348, 0, 1352, 0);n	return 0;n}nnpublic plugin_modules()n{n	require_module("fun");n	require_module("dodx");n	return 0;n}nnpublic plugin_precache()n{n	g_var9c = precache_model(296);n	g_vara0 = precache_model("sprites/bloodspray.spr");n	g_var84 = precache_model("models/Fleshgibs.mdl");n	g_var88 = precache_model("models/GIB_Skull.mdl");n	g_var8c = precache_model("models/GIB_Legbone.mdl");n	g_var90 = precache_model("models/GIB_Lung.mdl");n	g_var94 = precache_model("models/GIB_B_Gib.mdl");n	g_var98 = precache_model("models/GIB_B_Bone.mdl");n	return 0;n}nnsub_16e0(_arg0, _arg1)n{n	new var1 = 0;n	while (var1 < _arg1)n	{n		message_begin(0, 23, {0,0,0}, 0);n		write_byte(116);n		write_coord(random_num(-100, 100) + _arg0);n		write_coord(random_num(-100, 100) + _arg0 + 4/* ERROR unknown load Binary */);n		write_coord(_arg0 + 8/* ERROR unknown load Binary */ - 36);n		write_byte(260[random_num(0, 6)]);n		message_end();n		var1++;n	}n	return 0;n}nnsub_fe8(_arg0, _arg1)n{n	set_user_rendering(_arg0, 0, 0, 0, 0, 4, _arg1);n	return 0;n}nnsub_1d88(_arg0, _arg1)n{n	new var1 = 0;n	new var2 = 0;n	new var3 = 0;n	new var4 = 0;n	var1 = g_var84;n	var1 + 4/* ERROR unknown load Binary */ = g_var94;n	var1 + 8/* ERROR unknown load Binary */ = g_var8c;n	message_begin(0, 23, {0,0,0}, 0);n	write_byte(106);n	write_coord(_arg0);n	write_coord(_arg0 + 4/* ERROR unknown load Binary */);n	write_coord(_arg0 + 8/* ERROR unknown load Binary */);n	write_coord(random_num(-100, 100));n	write_coord(random_num(-100, 100));n	write_coord(random_num(100, 200));n	write_angle(random_num(0, 360));n	write_short(g_var88);n	write_byte(0);n	write_byte(500);n	message_end();n	message_begin(0, 23, {0,0,0}, 0);n	write_byte(106);n	write_coord(_arg0);n	write_coord(_arg0 + 4/* ERROR unknown load Binary */);n	write_coord(_arg0 + 8/* ERROR unknown load Binary */);n	write_coord(random_num(-100, 100));n	write_coord(random_num(-100, 100));n	write_coord(random_num(100, 200));n	write_angle(random_num(0, 360));n	write_short(g_var98);n	write_byte(0);n	write_byte(500);n	message_end();n	new var5 = 0;n	while (random_num(1, 2) > var5)n	{n		message_begin(0, 23, {0,0,0}, 0);n		write_byte(106);n		write_coord(_arg0);n		write_coord(_arg0 + 4/* ERROR unknown load Binary */);n		write_coord(_arg0 + 8/* ERROR unknown load Binary */);n		write_coord(random_num(-100, 100));n		write_coord(random_num(-100, 100));n		write_coord(random_num(100, 200));n		write_angle(random_num(0, 360));n		write_short(g_var90);n		write_byte(0);n		write_byte(500);n		message_end();n		var5++;n	}n	new var6 = 0;n	while (var6 < 5)n	{n		message_begin(0, 23, {0,0,0}, 0);n		write_byte(106);n		write_coord(_arg0);n		write_coord(_arg0 + 4/* ERROR unknown load Binary */);n		write_coord(_arg0 + 8/* ERROR unknown load Binary */);n		write_coord(random_num(-100, 100));n		write_coord(random_num(-100, 100));n		write_coord(random_num(100, 200));n		write_angle(random_num(0, 360));n		write_short(var1[random_num(0, 2)]);n		write_byte(0);n		write_byte(500);n		message_end();n		var6++;n	}n	new var7 = 0;n	while (var7 < _arg1)n	{n		var2 = random_num(-100, 100);n		var3 = random_num(-100, 100);n		var4 = random_num(0, 100);n		new var8 = 0;n		while (var8 < 5)n		{n			message_begin(0, 23, {0,0,0}, 0);n			write_byte(115);n			write_coord(var8 * var2 + _arg0);n			write_coord(var8 * var3 + _arg0 + 4/* ERROR unknown load Binary */);n			write_coord(var8 * var4 + _arg0 + 8/* ERROR unknown load Binary */);n			write_short(g_vara0);n			write_short(g_var9c);n			write_byte(248);n			write_byte(15);n			message_end();n			var8++;n		}n		var7++;n	}n	return 0;n}nnsub_1a34(_arg0, _arg1)n{n	new var1 = 0;n	while (var1 < _arg1)n	{n		message_begin(0, 23, {0,0,0}, 0);n		write_byte(116);n		write_coord(random_num(-50, 50) + _arg0);n		write_coord(random_num(-50, 50) + _arg0 + 4/* ERROR unknown load Binary */);n		write_coord(_arg0 + 8/* ERROR unknown load Binary */ - 36);n		write_byte(288[random_num(0, 1)]);n		message_end();n		var1++;n	}n	return 0;n}nn
DoD Plugins Archive · Repository · Old Forum Threads · Maps · Admin · built 14 Sep 2026 00:34 UTC