Download: www.ownageclan.com
war3source link on left
WARNING: backup all databases and server files.
The faster you can find these bugs, the faster i can fix them.
Make sure you update translations, extensions, gamedata...etc
Files may have been renamed
1.2.3
full invis player in CSS, weapon attachment are invisible.
RACE twilight sparkle
Buffhelper simple buff implemented, applys buff for simple duration
war3_bot_set_races 1 // should plugins set races for bots
SH cooldown error fix
GENERIC SKILLS
Individual skill translations now possible (one skill is translated while others arn't)
Luna ult was not labled as an ult
Some Undead Balance
say speed in TF2 will print multiplier too
RACE: Rainbow dash
RACE: Twilight Sparkle
gamedata removed and CS drop weapon now uses SM native
fixed NAIX not leeching on kill when not in ducking mode.
fixed NAIX level 1 leech at 50% instead of 5%
fixed gold exceeding maxgold on kill
fixed NAIX automatically gaining additional hp from skill,
-skill now only increases additional hp from leeching via skill and does not modify actual maxhp via buff engine
Buff HP fix
Race restrictions bug, setting limit to 1 resetted all players when limit is reached
Minor warnings fixes
Check race on xp/gold give, show changerace if they dont have a race
Shop2 access flag
CSGO compatability
Naris: Changed hint engine to a more simple object model instead of using tries (may or may not reach handle limit)
Glider: Award XP on TF2 for destroying buildings, also don't let engis get xp for using their own teleporter and change the hardcoded 1k distance for teleporters to reward xp to a cvar
Revan: cs:go compatibility of races has been improved(sounds and sfx fixed) + made warden uses Mole skill on CS:GO
Blood Hunter Fire loop on victims fixed (no blood crazy if player is on fire??)
Addon: Goldbets
Quick defines
so you can if(GAMECS){ }
#define GAMECS GameCS()
#define GAMETF GameTF()
#define GAMEL4D1 GameL4D1()
#define GAMEL4D2 GameL4D2()
#define GAMEL4DAny GameL4DAny()
#define GAMECSGO GameCSGO()
night elf evasion reduced to 15% max
war3_chancemodifier_sentry and war3_chancemodifier_sentryrocket cvars added back
None to use attack rate dependent chance modifier. Set from 0.0 to 1.0 chance modifier for sentry, this will override time dependent chance modifier
Bash chance modifier fixed
B6
death message blocking in the same frame. (SM will attempt to block the second message)
optimized succubus hunter
succubus headhunter changed to 100% chance to deal 0-20% damage (0-20 skulls). same applies to melee.
(succb translations changed, please re-translate for headhunter)
ValidPlayer(client,true,true) for checking alive via health also, useful for DamagePostHurt. this avoids double player score
claws and succubus now use this new method to check for "alive" to avoid double kill message. (DONT DEAL DAMAGE IF THEY ARE ALREADY DEAD)
NEW RACE: FLUTTERSHY
NEW RACE: RARITY
Dragonborn scales armor reduced to 3
fixed dragonborn roar immunity check to skills (was on ultimate)
NEW RACE: LUNA (ponified name pending) MADE BY REVAN
Cooldown engine will no longer print X seconds remaining if do not print on expire flag is set
War3_DealDamage reverted to entity type to allow custom weapon name for death message
B5
//ownz
dark elf gravity leak
translation fixes
class restrictions. MAXIMUM OF 2 classes.
IF YOU DONT LIKE THIS LIMIT, SUGGEST CHANGES TO THE RACE,
or i will come to your house and blow your greedy brains out.
war3 undead_restrictclass "spy"
race restrict checking moved from changerace to race restrictions engine
checks on join and spawn
checks for race on spawn and will give changerace menu if they dont have a race
forward changes:
forward OnWar3EventPostHurt(victim,attacker,dmgamount,[[[[[[[bool:isWarcraft]]]]]]]);
forward OnWar3EventDeath(victim,attacker,[[[[[[[deathrace]]]]]]]);
//Necavi
Note: not all of this is guaranteed to work on TF2, please contact me if you have any issues, and I'll fix them immediately.
Began expanding the Buff System:
fDodgeChance, //Registers a chance to dodge,
fVampirePercent, //Sets a % of damage done to give back as health
fBashChance, //Registers a chance to bash,
iBashDamage, //Does a certain amount of damage when you bash an enemy (more similar to warcraft 3's bash, default 0)
iBashDuration, //Sets the duration of bash's stun
fCritChance, //Registers a chance to crit,
iCritMode, //Default -1 (Set above this to enable) 1 (all damage qualifies for crit) 2 (bullet damage crit) 3 (grenade damage crit) 4 (melee damage crit) 5 (melee and bullet crit) 6 (melee and grenade crit) 7 (bullet and grenade crit)
fCritModifier, //Sets the critical strike modifer, default 1.0
iDamageMode, //Default -1 (Set above this to enable) 1 (all damage qualifies for damage increase) 2 (bullet damage damage increase) 3 (grenade damage damage increase) 4 (melee damage damage increase) 5 (melee and bullet damage increase) 6 (melee and grenade damage increase) 7 (bullet and grenade damage increase)
iDamageBonus, //Gives a direct increase to damage done
fDamageModifier, //Gives a % increase to damage done
MaxBuffLoopLimitTemp, //this is a variable that is for loops, this number is automatically generated fromt the enum.
New Forwards:
//Fired after a player dodges, useful primarily for attaching effects
forward OnW3DodgePost(victim,attacker);
//Fired before a player dodges, you can edit the dodge chance here
forward OnW3DodgePre(victim,attacker,Float:chance);
New Natives:
native War3_SuicideBomber(client, Float:location[], Float:damage, Float:radius, bool:effect=true);
native bool:War3_Teleport(client, Float:distance);
Big thanks to Invalid for his help on this one!
/**
* Creates a ward.
*
* Odd/special cases:
* If a ward is created with selfInflict=false, but affinity=SELF_ONLY, you get a ward that does nothing, essentially.
* If a ward is created with a negative/zero duration, it will last until map change or until it is removed manually.
*
* @param client: owner id
* @param location: ward location
* @param radius: ward effect radius
* @param duration: ward duration. If negative or zero, duration is infinite (until map change). Don't forget to remove the ward!
* @param pulseInterval: time between effect triggerings
* @param damage: amount of damage/healing done per interval
* @param healing: whether or not this ward heals
* @param selfInflict: whether or not this ward applies effects to its owner
* @param affinity: the targeting affinity for this ward. ENEMIES, ALLIES, ALL, or SELF_ONLY
* @return ID for the ward created or -1 if the ward was not created
*/
native _:War3_CreateWard(client, Float:location[], radius, Float:duration, Float:pulseInterval, damage, bool:healing=false, bool:selfInflict=false, War3WardAffinity:affinity=ENEMIES);
/**
* Removes a ward given an id
* @param id: ward id
* @return True if the ward was removed. False otherwise
*/
native bool:War3_RemoveWard(id);
Recoded Undead Scourge and Human Alliance to use these new natives, forwards, and buffs, reducing the code in each file by ~75%!
More Buffs/Natives/Forwards are coming!
//Ownz
War3_GetSkillLevel now automatically accounts for current race.
this allows the programmer to skip War3_GetRace(client)==thisRaceid and directly test for the skill level instead
example http://goo.gl/S0g0O //note the commented out sections // and /* */ in the red and green areas
WARNING: if your race prints silence, ult not leveled, etc, you still have to check for race
because we don't want 100 races printing the same thing at the same time
War3_SetSkillLevel has been replaced with War3_GetSkillLevelINTERNAL (no race uses this anyway, this is internal stuff)
War3_GetSkillLevelINTERNAL is the old style getting skill level (persistance level value thats stored with the database)
forward OnSkillLevelChanged(client,race,skill,newskilllevel);
will now forward on a skill change, with the old race having the newskilllevel of 0
(zeros out the "apparrent" skill level of that race)
and the new race's skill level's come subsequently.
shopmenu2 workaround:
<dvander> DarkEnergy, the problem is that there are two memory management systems competing, Handles and explicit C++, and at the intersection there is a bug in the menu code
<dvander> that is rather complicated
<dvander> so you get a double-free
<dvander> DarkEnergy, you could work around this by cheating a little
<dvander> DarkEnergy: HandleSecurity sec(myself, myself);
<dvander> handlesys->FreeHandle(menu->GetHandle(), &sec);
<dvander> to totally prevent leaks, you'll want something a little more accurate:
<dvander> if (menu->GetHandle() == BAD_HANDLE) {
<dvander> menu->Destroy();
<dvander> } else {
<dvander> handlesys->FreeHandle(menu->GetHandle(), &sec);
<dvander> }
<dvander> to make sure i got the security line right, youll want to make sure that handlesys actually returns a non-error value
B4
skill registration no longer requires "false,4);" to specify the skill is NOT and ultimate and has 4 levels, these are now default parameters
test
Setting max health is no longer allowed, it should be done within the buff system.
Fixed issues where max health was much more than it was suppose to.
new EVENT:OnBuffChanged allows us to respond when a buff changes
public OnWar3Event(W3EVENT:event,client){
if(event==OnBuffChanged)
{
if(W3GetVar(EventArg1)==iAdditionalMaxHealth&&ValidPlayer(client,true)){.....
B3
shop2 items translated (THANKS)
fixed shop2 non existant natives
shop2 translations begin with w3s.item2. instead of w3s.item
hint and cooldown engine now checked by system check in case of handle leaks
FIXED a hint handle leak
fix scout vanish leaking into next spawn
fixed a swap argument in W3HasAura (facehoof)
itemsinfo2
playerinfo shows shop2 items
playerinfo <argument> automatically makes a menu with client's names that match the argument
B2
SVN DIFF: http://goo.gl/uZWsx
Hint engine fix: automatically force refresh after spawn
New addon: automatically buy item if their gold is at maximum at spawn
("war3_autobuy_on_max_gold","lace","automatically buy this item if their gold is full");
//thanks for translating
some natives exposed
TF2: invis tf_wearables too!!!! and exceptions like tf_wearables_demoshield.
if you find a weapon that doesnt invis, search for it in server console: "find_ent tf_wear" and paste the result or find the item.
*note "Cannot Invis. Being revealed" needs translating in Engine_BuffSpeedGravGlow
Fixed extension scheduling error
Extension debugging of shopmenu2 crash
BLOOD MAGE: balance needed. KDR low and WLR high
banish chance increased to 20%, duration reduced to 0.2 seconds
revival chance reduced to 50% maximum at spawn. minimum of 2% per level (from 2.5%)
NEW ENGINE: race restrictions
currently checks for minlevel, admin requirements.
Functionality is basically from changerace but now exposed to allow database handler also check for race restricitons (on join)
fixed EXT not loaded spamming (you should still load it anyway)
Human teleport will abort of initial aim end point is < 150 units. Prevents lame short teleports...
Fixed minor startup error from shopmenu
ITEM2: snake bracelet 5% evasion
ITEM2: fortified bracers +10 HP
FIX: Major error in item2 registration
INTERFACE UPDATED TO SM 1.3.8
Recursive includes eliminated(SM compiler has changed).
B1
nerfed naix. updated english translations for naix.
statistics transmits war3revision and stats version for better filtering.
scout no longer hidden, now the 18th race
-------------
Dark Elf packaged with some changes:
Tribunal speed up amount and health decay amount.
Tribunal no cooldown and is +ability toggle. Color animation fix and consideration for spies.
-------------
Dragon born packaged with some changes:
static range for roar, level increases duration
scales only give physical armor
Dragonborn is 15% chance of immunity of ward/slow/skill/ult
ULT: breath: 5 second jarate for both teams.
-------------
Reduced Carrion Beetles damage to 10
Improved HP regen/decay engine, now instantaneously responsive to new regen decay values. It does use a little more cpu.
Error messages for extension failure
Forward for checking load conditions and silent failure. Return false to silently fail.
Example: this plugin should only load when game is TF
public LoadCheck(){
return GameTF();
}
native name change
W3Denyable is now !W3Denied
fixed human health buff on tf2 and css






Logged
DarkEnergy
(As well as one of the top servers in Australia)