Hacker Faction

It's not easy creating an entire faction or era. Post your work and collaborate in this forum.

Moderator: Forum Moderators

Post Reply
Silux
Posts: 119
Joined: January 28th, 2013, 8:48 pm
Location: Somewhere over the rainbow

Hacker Faction

Post by Silux »

Hackers are units who are able to hack the rules of Wesnoth.
They can:
  • -change the terrain
    -create virtual AI guided units
    -make self propagating units
    -walk between walls
    -attack more than once
    -gain money when they attack
    -create weapons that could help you
    -give experience points to allied adjacent units
    -bypass defences and counterattacks
I'm developing a small faction that can do these things.
At the moment i know how to make all these abilities and already tried these units in the battlefield.

What other abilities an hacker unit should have?
User avatar
Crow_T
Posts: 851
Joined: February 24th, 2011, 4:20 am

Re: Hacker Faction

Post by Crow_T »

Hit multiple enemies, eg if they have 4 attacks, and they kill an enemy on the first swing, they can hit other adjacent anemies with the remaining 3 chances.
User avatar
iceiceice
Developer
Posts: 1056
Joined: August 23rd, 2013, 2:10 am

Re: Hacker Faction

Post by iceiceice »

How about they hack the enemy's fog of war so you can see their positions?

Disable critical communications infrastructure so that some enemy units on the ground randomly cannot be ordered / become controlled by AI?

How about they hack the enemy barracks so that you can recruit units from their faction.

How about they hack the nuclear secrets of some global superpower so that you can deploy nuclear bombs in game :lol2:

Speaking of OP abilities from Sid Meier's Civilization, I think in like civ4 you could build "lawyer" units which could file lawsuits against enemy cities so that they cannot do anything? Would be funny if you could sue enemy villages so that they stop healing and producing gp. But obviously it doesn't quite fit the hacker theme.

How about if they hack your bank account and steal your gold if you have been banking too much. No boring camping games when the hackers are around: either you make an epic grunt rush and cut down all those nerds, or they steal your gold and drop nuclear bombs on you :lol2:
Last edited by iceiceice on November 3rd, 2013, 7:51 pm, edited 2 times in total.
User avatar
Ravana
Forum Moderator
Posts: 2481
Joined: January 29th, 2012, 12:49 am
Location: Estonia
Contact:

Re: Hacker Faction

Post by Ravana »

-change the terrain -> likely done somewhere
-create virtual AI guided units -> i know units that can create that side controlled new unit
-make self propagating units - didnt understand
-walk between walls -> likely done and with limited usefulness
-attack more than once -> done in different ways
-gain money when they attack -> i think i have seen it
-create weapons that could help you - interesting, havent seen it
-give experience points to allied adjacent units -> done, battle tutor
-bypass defences and counterattacks -> done - cold matriarch for 1.(though cold resist only, i assume you mean resists not terrain def) and dark warrior for 2.

Every era that I think is good can be said to hack the rules of Wesnoth.

Hacker should also be able to control AI units, in 1 of my addons I have option for player to mark where AI is not allowed to go next turn, here it can be more complicated.
Hack remaining moves from 1 unit to other. Can be made to transfer everything from HP to weapon specials.
Silux
Posts: 119
Joined: January 28th, 2013, 8:48 pm
Location: Somewhere over the rainbow

Re: Hacker Faction

Post by Silux »

Ravana wrote:-change the terrain -> likely done somewhere
i have attacks that change the defender's ground to water when it hits.Or make the defender plummet into void if the attack would kill the defender
Ravana wrote: -create virtual AI guided units -> i know units that can create that side controlled new unit
what campaign?
Ravana wrote: -make self propagating units - didnt understand
just like computer viruses.When they kill they create a copy of themselves
Ravana wrote: -walk between walls -> likely done and with limited usefulness
hacker just walk between walls as if they were plains.The price of the ability is equal to swimming in deep water
Ravana wrote: -gain money when they attack -> i think i have seen it
More common between hackers
Ravana wrote: -create weapons that could help you - interesting, havent seen it
Ravana wrote: -give experience points to allied adjacent units -> done, battle tutor
based on the level of the unit.The master could even stop to give experience when students are at the same level of the master
Ravana wrote: -bypass defences and counterattacks -> done
they attack with new ranges and elements.It's really easy to code, no wonder it already exist:)
Ravana wrote:
Hacker should also be able to control AI units, in 1 of my addons I have option for player to mark where AI is not allowed to go next turn, here it can be more complicated.
what addon?
Ravana wrote: Hack remaining moves from 1 unit to other. Can be made to transfer everything from HP to weapon specials.
Harder to code but can be done.

[/quote]Hit multiple enemies
CrowT wrote: Already in the project. It works exactly as you wrote.
But it can be really OP so i need a good way to balance it.
iceiceice wrote:
How about they hack the enemy's fog of war
iceiceice wrote: There are Scripts for that. 3gp and they reveal fog within 8 radius.
Each unit can summon them.
hack the enemy barracks
iceiceice wrote: interesting!
nukes
iceiceice wrote: Well i know how to code them, but they are inherently hard to balance.Bombs which destroy units and soil should cost about 80gp per hex.

The core theme i thought was summoning programs or make bot to battle instead of live units.
Of course a real hacker could never lose a battle against an AI which can be hacked.
So i'm just imaging the battle as a virtual battle to hack the AI leader, and acquire his data.
In this context gold and unit stealing are not feasible during the battle, but an hacker army in a campaign could gain all money and units of the leader they defeated.

To make summoning more interesting i thought to add a slight chance to fail the summoning and create a Glitch, a totally random unit(side included).
Glitch
10-25hp
4-6 moves
2 abilities from (heal 8, command, illuminates, darken, teleport, ambush)
(5-8)-(2-4) claws (charge, magic, none, none)
User avatar
Dixie
Posts: 1757
Joined: February 10th, 2010, 1:06 am
Location: $x1,$y1

Re: Hacker Faction

Post by Dixie »

Some other (possibly very OP) hacker ideas:

Create villages;
Heal in castles;
Recruit from somewhere else than a keep;
Control other players' units;
Have 100% chance-to-hit attacks;
Steal exp from enemy units;
Disregard terrain restrictions (move and defense);
Have a new, different damage type no enemy unit has resistances against;
Teleportation (not only from villages);
Change its team color to camouflage amongst enemy units;
Jazz is not dead, it just smells funny - Frank Zappa
Current projects: Internet meme Era, The Settlers of Wesnoth
User avatar
Ravana
Forum Moderator
Posts: 2481
Joined: January 29th, 2012, 12:49 am
Location: Estonia
Contact:

Re: Hacker Faction

Post by Ravana »

what campaign?
To Lands Unknown//Era of Magic
just like computer viruses.When they kill they create a copy of themselves
I think blight has something like that.
hacker just walk between walls as if they were plains.The price of the ability is equal to swimming in deep water
Walk on terrain marked impassable then?
they attack with new ranges and elements.It's really easy to code, no wonder it already exist:)
It was for melee, that unit was perfect ordinary berserker killer.
Hacker should also be able to control AI units, in 1 of my addons I have option for player to mark where AI is not allowed to go next turn, here it can be more complicated.
what addon?
I have that in my local version of creep war for 1.10 and uploaded for 1.11. 1.10 Code is here.

Code: Select all

#define AI_COMMANDS
	[event]
		name=side 2 turn
		first_time_only=no
		{CLEAR_VARIABLE avoid_loc_2}
		{VARIABLE avoid_loc_2_length 0}
	[/event]
	[event]
		name=side 4 turn
		first_time_only=no
		{FOREACH avoid_loc_2 i}
			[label]
				x=$avoid_loc_2[$i].x
				y=$avoid_loc_2[$i].y
				text=""
				immutable=no
				team_name=East
			[/label]
		{NEXT i}
	[/event]
	[event]
		name=side 6 turn
		first_time_only=no
		{CLEAR_VARIABLE avoid_loc_6}
		{VARIABLE avoid_loc_6_length 0}
	[/event]
	[event]
		name=side 8 turn
		first_time_only=no
		{FOREACH avoid_loc_6 i}
			[label]
				x=$avoid_loc_6[$i].x
				y=$avoid_loc_6[$i].y
				text=""
				immutable=no
				team_name=West
			[/label]
		{NEXT i}
	[/event]
	
	[event]
		name=turn 2
		[set_menu_item]
			id=ai_commands_2_new
			description=_"Force AI to avoid.."
			[show_if]
				[variable]
					name=side_number
					equals=2
				[/variable]
			[/show_if]
			[command]
				[message]
					speaker=narrator
					message=_""
					[option]
						message="<b><big><span foreground='blue'>"+ _ "Do nothing"+"</span></big></b>"
						[command]
						[/command]
					[/option]
					[option]
						message="<b><big><span foreground='green'>"+ _ "Add $x1|,$y1| to list to avoid(Saved after selecting next option)"+"</span></big></b>"
						[command]
							[set_variable]
								name=avoid_loc_2[$avoid_loc_2_length].x
								value=$x1
							[/set_variable]
							[set_variable]
								name=avoid_loc_2[$avoid_loc_2_length].y
								value=$y1
							[/set_variable]
							{VARIABLE_OP avoid_loc_2_length add 1}
							[label]
								x=$x1
								y=$y1
								text=_"selected"
								team_name=East
							[/label]
						[/command]
					[/option]
					[option]
						message="<b><big><span foreground='red'>"+ _ "Make AI avoid all hexes selected for this turn"+"</span></big></b>"
						[command]
							[modify_side]
								side=4
								[ai]
									turns=$turn_number
									[avoid]
										find_in=avoid_loc_2
									[/avoid]
								[/ai]
							[/modify_side]
						[/command]
					[/option]
					[option]
						message="<b><big><span foreground='green'>"+ _ "Remove saved locations list"+"</span></big></b>"
						[command]
							{FOREACH avoid_loc_2 i}
								[label]
									x=$avoid_loc_2[$i].x
									y=$avoid_loc_2[$i].y
									text=""
									immutable=no
									team_name=East
								[/label]
							{NEXT i}
							{CLEAR_VARIABLE avoid_loc_2}
							{VARIABLE avoid_loc_2_length 0}
						[/command]
					[/option]
				[/message]
			[/command]
		[/set_menu_item]
		[set_menu_item]
			id=ai_commands_6_new
			description=_"Force AI to avoid.."
			[show_if]
				[variable]
					name=side_number
					equals=6
				[/variable]
			[/show_if]
			[command]
				[message]
					speaker=narrator
					message=_""
					[option]
						message="<b><big><span foreground='blue'>"+ _ "Do nothing"+"</span></big></b>"
						[command]
						[/command]
					[/option]	
					[option]
						message="<b><big><span foreground='green'>"+ _ "Add $x1|,$y1| to list to avoid(Saved after selecting next option)"+"</span></big></b>"
						[command]
							[set_variable]
								name=avoid_loc_6[$avoid_loc_6_length].x
								value=$x1
							[/set_variable]
							[set_variable]
								name=avoid_loc_6[$avoid_loc_6_length].y
								value=$y1
							[/set_variable]
							{VARIABLE_OP avoid_loc_6_length add 1}
							[label]
								x=$x1
								y=$y1
								text=_"selected"
								team_name=West
							[/label]
						[/command]
					[/option]
					[option]
						message="<b><big><span foreground='red'>"+ _ "Make AI avoid all hexes selected for this turn"+"</span></big></b>"
						[command]
							[modify_side]
								side=8
								[ai]
									turns=$turn_number
									[avoid]
										find_in=avoid_loc_6
									[/avoid]
								[/ai]
							[/modify_side]
						[/command]
					[/option]
					[option]
						message="<b><big><span foreground='green'>"+ _ "Remove saved locations list"+"</span></big></b>"
						[command]
							{FOREACH avoid_loc_6 i}
								[label]
									x=$avoid_loc_6[$i].x
									y=$avoid_loc_6[$i].y
									text=""
									immutable=no
									team_name=West
								[/label]
							{NEXT i}
							{CLEAR_VARIABLE avoid_loc_6}
							{VARIABLE avoid_loc_6_length 0}
						[/command]
					[/option]
				[/message]
			[/command]
		[/set_menu_item]
	[/event]
#enddef
Jeffers0n
Posts: 106
Joined: April 12th, 2013, 2:46 pm

Re: Hacker Faction

Post by Jeffers0n »

-A Firststrike attack that if succesfull makes the defender(if possible) jump one hex back(has been done)
-An abillity that makes an enemy unit attack another enemy unit(has also been done)
-An abillity that makes ajacent enemies fight worse
-A poison attack that turns enemies into Walking Corpses(has been done)
-A unit that regains its moves(but not its attacks) after each attack(done)
Steal exp from enemy units;
Have a new, different damage type no enemy unit has resistances against;
Have been done in LotI
Recruit from somewhere else than a keep;
Has been done in Grnk the Mighty
Silux
Posts: 119
Joined: January 28th, 2013, 8:48 pm
Location: Somewhere over the rainbow

Re: Hacker Faction

Post by Silux »

100%hit attack is something i have already tried, but 90% is better because of the core principles of Wesnoth.Something could always go wrong and miss, and having a back up plan is one of the fun parts of the battle.

I have some units ready to playtest.
They are based on Great Legend Era but they can be copy-pasted in any era without problems.
How i can share them?
Doomchicken
Posts: 29
Joined: October 28th, 2013, 10:09 am

Re: Hacker Faction

Post by Doomchicken »

Maybe they should be able to take control of enemy units for a turn, or swap hex with an enemy they can see (for example they could sue this to expose a healer or backstab a unit).
Velensk
Multiplayer Contributor
Posts: 3991
Joined: January 24th, 2007, 12:56 am

Re: Hacker Faction

Post by Velensk »

Since when do hackers care about the core gameplay principles of anything? Were you hoping to have this faction be balanced?
"There are two kinds of old men in the world. The kind who didn't go to war and who say that they should have lived fast died young and left a handsome corpse and the old men who did go to war and who say that there is no such thing as a handsome corpse."
User avatar
Ravana
Forum Moderator
Posts: 2481
Joined: January 29th, 2012, 12:49 am
Location: Estonia
Contact:

Re: Hacker Faction

Post by Ravana »

Would be great to have way to get rid of oos and add (valid) code during game.
Silux
Posts: 119
Joined: January 28th, 2013, 8:48 pm
Location: Somewhere over the rainbow

Re: Hacker Faction

Post by Silux »

swapping two units would be really cool, but i don't know how to implement it.
Ravana wrote:get rid of oos
What are oos?
Inject code during the game can be done, but it's really risky, and it's better to call scripts trough a command menu.

The Hacker Faction should be a faction balanced toward all other factions, so it will be possible to make fun matches like orcs vs hackers or loyalist vs hackers.
If the hacker faction would be OP or perceived as such, the only match with fair odds to win for both are only hackers vs hackers.

Campaigns which use hackers as unit could be way more funny than usual, as you can exploit walls, travel faster, get more gold and explore all places.
I created the first hacker unit to help myself in a campaign:)
User avatar
Ravana
Forum Moderator
Posts: 2481
Joined: January 29th, 2012, 12:49 am
Location: Estonia
Contact:

Re: Hacker Faction

Post by Ravana »

Most basic hack is editing local files, and that causes Out Of Sync errors.
Silux
Posts: 119
Joined: January 28th, 2013, 8:48 pm
Location: Somewhere over the rainbow

Re: Hacker Faction

Post by Silux »

I've began hacking wesnoth from the scenario config files, which are more readable.
The coolest hack i've made on scenarios is to summon a Griphon Rider in every castle at the sound of the horns.

There is a safe way to summon units under the control of the AI?
Right now i did made so by creating an allied AI side with no commander and no units in any scenario i planned to use AI units.
I don't know if there is a way to create a new AI allied side on the start of the scenario from the cfg file of the Hacker leader, or through an other cfg file which is not the scenario file.
Post Reply